perm filename DRAW.JMG[UP,DOC]1 blob sn#188212 filedate 1975-05-04 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		DRAW is a low-level graphics program for drawing simple 
C00007 00003		I/O can be done in several ways: "P" to make a plot-file (that can
C00011 00004	COMMANDS 		MEANING
C00013 ENDMK
C⊗;
	DRAW is a low-level graphics program for drawing simple 
	figures with text.  The light-pen pointer is used to draw
	lines and position text.  So, a III display must be used!

	You may move the pointer either with the light-pen (it helps
	to turn the intensity up) or with arrow commands, "↑" "↓" "←"
	and "→".  The use of <control> and/or <meta> keys will increase
	the distance travelled.

	To draw a line, position the pointer and then "S" (start) the 
	line.  Move the pointer to the desired other end-of-the-line and
	now either "E" (end) the line, or "C" (continue) by starting a
	new (connected) line at the pointer position (of course at the
	same time ending the line just specified).  You may "C" (continue
	and connect) indefinitely, until you "E" (end) the last line.
	
	You may move the pointer to its closest already-specified location,
	by "F" (finding) this closest previous location.  This is especially
	useful in making a closed-figure, like a box, where you "F" (find)
	the endpoint of the last side by placing the pointer reasonably
	close to it, then once it is found, you "E" (end) that final side.
	It will be connected to the first side.

	Another pair of commands allows you to "A" (attach) something (text
	or lines) and then "M" (move) them to a new pointer position.  First
	"A" the object, similar to "F" - put the pointer reasonably close
	to it (remember, the "position" of text is on the left-side of the
	text string).  Then "A" (attach) what is closest to the pointer.
	Now you can reposition the pointer, and then "M" (move) the object
	to its new position.  You must re-"A" (re-attach) an object to move
	it again.

	An object in the above "attach" context, by the way, is defined by
	the "B" (body) command.  When you start to draw, you are constructing
	body number 1.  A subsequent "B" command will begin body number 2,
	etc.  Then, the attach command will attach all lines and text 
	associated with the body you have located.  You may, however, move
	text independent of body position by directly attaching the text.

	You can also re-scale (change the size of) a body.  First attach it,
	then use the "N" (new size) command.  Type <x-scaler>,<y-scaler> to
	selectively change the x and y dimensions, or simply <scaler> to
	change the overall size.  The program will ask for the scaler.

	To put a line of text into the figure, locate the pointer at the
	left-hand side of the text-string position and then "T" (type text).
	Text will be terminated with a <CR>, hence it is one line at a time.
	I/O can be done in several ways: "P" to make a plot-file (that can
	be XIP'ed, for instance - when you type "P", the program asks for
	an output filename. Let's say it will be "TMP.PLT". When you exit
	from the drawing program, tell the monitor to

.R XIP;L0,0;*TMP.PLT<CR>

	This will put the figure out to the XGP.  If you want the lines to be
	wider, insert 

H<some number greater than 1>;

	after the "L0,0;". For size scaling insert

X<xscale>,<yscale>;

	To locate the figure somewhere other than center use

L<x-coordinate>,<y-coordinate>;

	rather than "L0,0;".  Consult a XIP expert for more goodies.

	The following is the recommended output mode:
	Type "O" to output the internal information regarding the figure.
	This output file will be in a form that XIP will also accept.
	If you say

.R XIP;@<filename>

	then you will get XIP output which should be identical to the above
	"P" command. You may edit the output file and put scaling, heaviness
	and font changes in it as well.  Do this on the top line, which begins
	with the character "{".  Isert scaling and heaviness as above. Fonts
	may be handled in several ways.  If you just want one font for the
	entire figure, say BASL30, insert 

M4BASL30;

	on that line. This makes Font#4 to be BASL30. It will be trickier to
	use two or more fonts, but it can be done.  The call on a font for
	any particular text string is found in the output file just in front
	of that string, with the construction:

L<X>,<Y>;F4
<string>{

	If you want another font, you might

M<number><fontname>;

	on the top line, and then substitute <number> for "4" in the font call
	in front of that string.

	Type "X" to also re-scale the overall figure when putting it out 
	to XIP.  This saves you the trouble of re-scaling all bodies on the
	screen with  "A's" and "N's" and then doing an "O".  The program will
	ask for a scaler after calling for a output filename.

	Type "I" to input an information file to the Drawing program. 
	You may input as many (same or different) files as you want.

	"K" should kill your last command (it's recursive!).
	"H" should type out the following:
COMMANDS 		MEANING
		you can move the pointer with the light-pen, or...
→ ← ↑ ↓  	with  <control> &/or <meta> keys will Move pointer around.
/ \		Decrease or Increase unit stepsize for pointer motion.
S		Start a line.
C		Continue a line.
E		End a line.
B		End present body and begin a new one.

F		Find the nearest previously specified location and place pointer.
A		Attach nearest body for moving, scaling or deletion.
M		Move the attached thing to a new pointer position.
N		New size for the attached thing.

K		Kill the last positioning command.
T		Type Text, starting where the pointer is.
H		HELP message (obviously).
P		Plot the whole mess.
X		Output the picture-information and scale.
O		Output the picture-information to a file.
I		Input picture-information from a file.